package cn.tedu.sp03userservice.service;

import cn.tedu.sp01.pojo.User;
import cn.tedu.sp01.service.UserService;
import cn.tedu.web.util.JsonUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;

import java.util.List;
@RefreshScope  //刷新到的新的用户配置,重新注入业务对象
@Service
@Slf4j
public class UserServiceImpl implements UserService {

    //配置中如果找不到这项配置注入失败项目是无法启动的
    @Value("${sp.user-service.users}")
    private  String userJson;

    @Override
    public User getUser(Integer id) {
        log.info("获取用户名,id="+id);
        //userJson --->List<User>
        List<User> list=JsonUtil.from(userJson, new TypeReference<List<User>>(){});
        for (User u:list){
            if (u.getId().equals(id)){
                return u;
            }
        }
        //返回死的用户数据
        return new User(id,"用户名"+id,"密码"+id);
    }
    //增加用户积分
    @Override
    public void addScore(Integer id, Integer score) {
    log.info("增加用户积分, id="+id+",scor="+score);

    }
}
